# coding=utf8

# Copyright 2018 JDCLOUD.COM
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# NOTE: This class is auto generated by the jdcloud code generator program.


class ChargeSpec(object):

    def __init__(self, chargeMode=None, chargeUnit=None, chargeDuration=None, autoRenew=None, autoChangeChargeMode=None, autoChangeChargeModeDate=None, buyScenario=None):
        """
        :param chargeMode: (Optional) 计费模式，取值为：prepaid_by_duration，postpaid_by_usage或postpaid_by_duration，prepaid_by_duration表示预付费，postpaid_by_usage表示按用量后付费，postpaid_by_duration表示按配置后付费，默认为postpaid_by_duration。请参阅具体产品线帮助文档确认该产品线支持的计费类型
        :param chargeUnit: (Optional) 包年包月付费单位或按配置/按用量计费模式定时转换为包年包月付费单位。仅chargeMode=prepaid_by_duration或chargeMode=postpaid_by_duration且autoChangeChargeMode=true时此参数有效。取值为：month、year，默认为month
        :param chargeDuration: (Optional) 包年包月付费时长或按配置/按用量计费模式定时转换为包年包月付费时长。chargeMode=prepaid_by_duration或chargeMode=postpaid_by_duration且autoChangeChargeMode=true时此参数有效。当chargeUnit为month时取值为：1~9，当chargeUnit为year时取值为：1、2、3
        :param autoRenew: (Optional) 自动续费。true为开通自动续费，false为不开通自动续费，默认为false，仅对包年包月资源有效。开通后，将以本次创建时的购买时长作为自动续费周期，自动续费周期可在续费管理功能中进行修改。
        :param autoChangeChargeMode: (Optional) 计费模式定时转换，支持在某一时间内从按配置/按用量计费转换为包年包月计费。true为开通转换，false为不开通转换，默认false。且只有按配置/按用量计费支持开启。请参阅具体产品线帮助文档确认该产品线支持的计费类型转换。
        :param autoChangeChargeModeDate: (Optional) 计费模式定时转换日期，格式"yyyy-MM-dd" ,例"2022-12-18"。指定日期的0点开始执行转换 ,autoChangeChargeMode为true时必填。
        :param buyScenario: (Optional) 产品线统一活动凭证JSON字符串，需要BASE64编码，目前要求编码前格式为 {"activity":{"activityType":必填字段, "activityIdentifier":必填字段}}
        """

        self.chargeMode = chargeMode
        self.chargeUnit = chargeUnit
        self.chargeDuration = chargeDuration
        self.autoRenew = autoRenew
        self.autoChangeChargeMode = autoChangeChargeMode
        self.autoChangeChargeModeDate = autoChangeChargeModeDate
        self.buyScenario = buyScenario
